package com.pt.pok;

import com.pt.pok.model.PokerCommand;

/**
 * @author Roman.Ivanov@playtech.com, Andrey.Panfilov@playtech.com
 * @date 1/23/12
 *       <p/>
 *       Responsible for marshaling {@link com.pt.pok.model.PokerCommand} to protocol formatted data P -
 *       protocol message
 */
public interface ProtocolMarshaller<P> {

    /**
     * Convert domain command to concrete protocol formatted data
     * 
     * @param pokerCommand domain command
     * @return protocol formatted data
     */
    P convertToProtocolCommand(PokerCommand pokerCommand);

}
